package com.chenfan.process.entity.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author liuming
 * @date 2021/11/24
 */
@Data
public class FormDTO {

    @ApiModelProperty(value = "表单id", hidden = true)
    private Long id;
    /**
     * 表单名称
     */
    @NotNull(message = "表单名称不能为空")
    private String formName;
    /**
     * 图标
     */
    private String icon;

    /**
     * 表单属性
     */
    private List<FormAttribute> formAttributes;
    /**
     * 内容, 将所有的数据保存为json结构
     */
    private String content;

    @Data
    public static class FormAttribute {

        /**
         * 属性id
         */
        @ApiModelProperty(value = "属性id", hidden = true)
        private Long id;
        /**
         * 字段类型
         */
        private String fieldType;

        /**
         * 字段名称
         */
        private String fieldName;

        /**
         * 字段Key值
         */
        private String fieldKey;
        /**
         * 字段值
         */
        private String fieldValues;

        /**
         * 是否必填
         */
        private boolean required;

        /**
         * 是否可编辑
         */
        private boolean editable;
    }
}
